//
//  QPJHCountdown.h
//  QPJHLightSDK
//
//  Created by qply on 2020/7/29.
//  Copyright © 2020 Vanney. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/// 倒计时完成回调
typedef void (^finishCall)(id timerName);
///// UI显示
typedef void (^progressCall)(NSTimeInterval time);

@interface QPJHCountdown : NSObject

/**
 *  单例获取对象
 */
+ (instancetype)shareInstance;

/**
 * 带有关键字Key的定时器
 * @param time 倒计时时间
 * @param progress 改过后的时间
 * @param finish 倒计时完成
 * @param timeKey 计时器key,会存到变量里面
 */
- (void)time:(NSTimeInterval)time timeDown:(progressCall)progress finish:(finishCall)finish timeKey:(NSString *)timeKey;
/**
 * 带有关键字Key的定时器
 * @param time 倒计时时间
 * @param progress 改过后的时间
 * @param updateTime 倒计时时间频率
 * @param finish 倒计时完成
 * @param timeKey 计时器key,会存到变量里面
 */
- (void)time:(NSTimeInterval)time updateTime:(double)updateTime timeDown:(progressCall)progress finish:(finishCall)finish timeKey:(NSString *)timeKey;

/**
 * 取消定时器
 * @param timeKey 需要取消的计时器的key
 */
- (void)cancelTimer:(NSString *)timeKey;

/**
 *  是否存在某个名称标识的timer。
 *
 *  @param timerName timer的唯一名称标识。
 *  @param completion 查询结束回调。doExist==YES表示存在，反之。
 */
- (void)checkExistTimer:(NSString *)timerName
             completion:(void (^)(BOOL doExist))completion;


@property(nonatomic, strong) NSMutableDictionary *timerDictionary;


/**
 *  传入一个时间,返回一个NSString格式为"00:00:00"的时间text
 *
 *  @param time 传入的时间值
 *
 *  @return 格式为"00:00:00"的时间text
 */
- (NSString *)createTimeStingWithTime:(NSTimeInterval)time;

- (NSString *)createMMSS:(NSTimeInterval)time;  //创建时分
@end

NS_ASSUME_NONNULL_END
